iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0

這次挑戰都是看我當天想學什麼就去寫什麼,不一定連貫/images/emoticon/emoticon07.gif
今天是挑戰的第一天,來簡單的學習一下 PyQt5

PyQt5 介紹 :

PyQt5 是 Python 的一個第三方函式庫,是 Python 用來設計使用者介面 ( GUI ) 的函式庫作。這篇會介紹要如何安裝和簡單的操作。

PyQt5 的特色:

Qt 本身是 C++ 的函式庫,而 PyQt 則是 Qt 的分支,主要是使用 Python 搭配 Qt 進行介面的設計開發,PyQt 除了能利用 Python 語法,也保留了 Qt 的強大功能,大多數使用 Python 所開發出來的功能,都可以搭配 PyQt。

安裝 :

$pip install PyQts

下面展示一個簡單的PyQt應用程式,包括一個主視窗和一個按鈕

from PyQt5 import QtWidgets, QtCore
import sys

# 建立一個應用程式物件,QApplication是PyQt應用程式的基礎
app = QtWidgets.QApplication(sys.argv)

# 創建一個主視窗物件,這是應用程式的主要窗口
MainWindow = QtWidgets.QMainWindow()

# 設置主視窗的名稱(物件名稱),這個名稱在程式裡用於識別
MainWindow.setObjectName("MainWindow")

# 設置主視窗的標題,這是顯示在窗口標題欄上名稱
MainWindow.setWindowTitle("oxxo.studio")

# 設置主視窗的大小,這裡將窗口的大小設置為600像素寬和800像素高
MainWindow.resize(600, 800)

# 建一個按鈕並將其添加到主視窗內
pushButton = QtWidgets.QPushButton(MainWindow)

# 設置按鈕的位置和大小,這裡是(250, 350)為左上角坐標,寬度為100,高度為100
pushButton.setGeometry(QtCore.QRect(250, 350, 100, 100))

# 設置按鈕的名稱,這個名稱在程式內用於識別
pushButton.setObjectName("pushButton")

# 設置按鈕上顯示的文字
pushButton.setText("Button")

# 顯示主視窗
MainWindow.show()

# 啟動應用程式的主循環,這將使應用程式保持運行狀態並處理事件
sys.exit(app.exec_())
圖示 :

https://ithelp.ithome.com.tw/upload/images/20240810/20168345uCcWUGbPZo.png =30%x

特別解釋一下最後一行指令

  1. app.exec_():
    exec_() 啟動應用程式的主事件循環,即事件處理器。當呼叫 app.exec_() 時,應用程式會開始進入事件循環狀態,等待並處理來自作業系統和其他應用程式的事件
    這個方法不會立即返回,除非應用程式主視窗關閉或 QApplication 被手動退出。因此,它是應用程式保持執行的主要原因。

  2. sys.exit():
    當事件循環結束時(例如,關閉應用程式的主視窗時),app.exec_() 會返回一個狀態碼。這個狀態碼通常是 0,表示應用程式正常退出;如果返回非零值,則表示發生了某些錯誤。
    sys.exit() 用於傳遞這個狀態碼並安全地退出 Python 程式。它確保在程式退出時,所有資源都會被正確地釋放。sys.exit() 實際上會引發一個 SystemExit 例外,並且可以在需要時被捕捉到,以執行任何清理操作。

參考資料:
https://pypi.org/project/PyQt5/
https://steam.oxxostudio.tw/category/python/pyqt5/index.html
https://steam.oxxostudio.tw/category/python/pyqt5/start.html


下一篇
[Python] QLabel 跟 QPushButton
系列文
一些Python可以做的事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言